package com.fortune.utils;

import java.text.*;
import java.util.Calendar;
import java.util.Date;

public class GetTime {


	public static int Guid=100;

	@SuppressWarnings("unused")
	public static String getGuid() {

		GetTime.Guid+=1;

		long now = System.currentTimeMillis();  
		//获取4位年份数字  
		SimpleDateFormat dateFormat=new SimpleDateFormat("yyyy");  
		//获取时间戳  
		String time=dateFormat.format(now);
		String info=now+"";
		//获取三位随机数  
		//int ran=(int) ((Math.random()*9+1)*100); 
		//要是一段时间内的数据连过大会有重复的情况，所以做以下修改
		int ran=0;
		if(GetTime.Guid>999){
			GetTime.Guid=100;    	
		}
		ran=GetTime.Guid;
        String str=info.substring(2, info.length())+ran;
        
		return "wb"+str.substring(5,str.length());
	}
	public static String getOrder() {

		GetTime.Guid+=1;

		long now = System.currentTimeMillis();  
		//获取4位年份数字  

		String info=now+"";
		//获取三位随机数  
		//int ran=(int) ((Math.random()*9+1)*100); 
		//要是一段时间内的数据连过大会有重复的情况，所以做以下修改
		int ran=0;
		if(GetTime.Guid>999){
			GetTime.Guid=100;    	
		}
		ran=GetTime.Guid;

		return info.substring(2, info.length())+ran;
	}


	/* 
	 * 将时间转换为时间戳
	 */    
	public static String dateToStamp(String s) throws Exception{
		String res;
		SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
		Date date = simpleDateFormat.parse(s);
		long ts = date.getTime();
		res = String.valueOf(ts);
		return res;


	}

	/* 
	 * 将时间戳转换为时间
	 */
	public static String stampToDate(String s){
		String res;
		SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
		long lt = new Long(s);
		Date date = new Date(lt);
		res = simpleDateFormat.format(date);
		return res;
	}
	//转换时间格式
	public String getsTimes(){

		SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");//设置日期格式
		String date = df.format(new Date().getTime());// new Date()为获取当前系统时间，也可使用当前时间戳

		return	 date;
	}
	//转换时间格式
	public static String strToDateFormat(String date) throws Exception {
		SimpleDateFormat formatter = new SimpleDateFormat("yyyyMMdd");
		formatter.setLenient(false);
		Date newDate= formatter.parse(date);
		formatter = new SimpleDateFormat("yyyy-MM-dd");
		return formatter.format(newDate);
	}
	//转换时间格式
	public static String strToDateFormat1(String date) throws ParseException {
		SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");
		formatter.setLenient(false);
		Date newDate= formatter.parse(date);
		formatter = new SimpleDateFormat("yyyyMMdd");
		return formatter.format(newDate);
	}


	public static String TMformat(String str1) throws Exception{
		String str2=str1+"";//给定一个字符串日期
		//         //创建SimpleDateFormat对象sdf1,指定日期模式为yyyy-MM-dd
		SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd");
		Date date= sdf.parse(str2);//字符串转成date对象类型
		DateFormat sdf2=new SimpleDateFormat("yyyy年MM月dd日");
		String str3= sdf2.format(date);//date类型转换成字符串



		return 	str3;
	}
	
	public static String getSysYear() {//获取当前时间年
        Calendar date = Calendar.getInstance();
        String year = String.valueOf(date.get(Calendar.YEAR));
        return year;
}

	public String getDatacurrent() {//获取当前时间
		  SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd");//设置日期格式
		  String data= df.format(new Date());
		return data;
}
	public String getDatacurrent1() {//获取当前时间
		  SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");//设置日期格式
		  String data= df.format(new Date());
		return data;
}
	//获取当前时间的周一
	public  String getThisWeekMonday() {
		Calendar cal = Calendar.getInstance();
		cal.setTime(cal.getTime());
		// 获得当前日期是一个星期的第几天
		int dayWeek = cal.get(Calendar.DAY_OF_WEEK);
		if (1 == dayWeek) {
			cal.add(Calendar.DAY_OF_MONTH, -1);
		}
		// 设置一个星期的第一天，按中国的习惯一个星期的第一天是星期一
		cal.setFirstDayOfWeek(Calendar.MONDAY);
		// 获得当前日期是一个星期的第几天
		int day = cal.get(Calendar.DAY_OF_WEEK);
		// 根据日历的规则，给当前日期减去星期几与一个星期第一天的差值
		cal.add(Calendar.DATE, cal.getFirstDayOfWeek() - day);
		SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
		return sdf.format(cal.getTime());
	}
	//获取当前一号日期
	public  String getThisWeekMonday1() {
	SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");  
	Calendar cale = null;  
	cale = Calendar.getInstance();  
	cale.add(Calendar.MONTH, 0);  
	cale.set(Calendar.DAY_OF_MONTH, 1);  
	return format.format(cale.getTime());  
	}
	
	
	public String judgmentDate1(String date) throws ParseException{ 
		 
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-M-d HH:mm:ss"); 
 
        Date start = sdf.parse(date); //订单生成时间
        
      
 
      return sdf.format(start);
 

}
	//时间对比
 public  boolean judgmentDate(String date1, String date2) throws Exception { 
	 
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-M-d HH:mm:ss"); 
 
        Date start = sdf.parse(date1); //订单生成时间
 
        Date end = sdf.parse(date2); //当前时间
 
        long cha = end.getTime() - start.getTime(); 
 
        if(cha<0){
 
          return false; 
 
        }
 
        double result = cha * 1.0 / (1000 * 60 * 60);
 
        if(result<12){ 
 
             return true; 
 
        }else{ 
 
             return false; 
 
        } 

}
 //当前时间的30天后时间
 public  String DayThirty(int str){
	 Calendar cal = Calendar.getInstance();
		cal.add(Calendar.DATE, str);

		Date date = cal.getTime();
		SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd");
		
	 return df.format(date);
 }
 
}
